package com.heima.controller;

import com.heima.common.result.PageResult;
import com.heima.common.result.Result;
import com.heima.pojo.dto.PageDTO;
import com.heima.pojo.entity.VmType;
import com.heima.service.VmTypeService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import static com.github.pagehelper.page.PageMethod.startPage;

/**
 * \* User: chy
 * \* Date: 2025/8/21  20:54
 * \* Description:
 * \
 */
@RestController
@RequestMapping("/api/vm-service/vmType")
@Slf4j
public class VmTypeController {
    @Autowired
    private VmTypeService vmTypeService;

    /**
     * 设备类型分页查询
     * @param vmTypePageDTO
     * @return
     */
    @GetMapping("/search")
    public PageResult<VmType> page(PageDTO vmTypePageDTO) {

        return vmTypeService.pageVmType(vmTypePageDTO);
    }

    /**
     * 新增设备类型数据
     * @param vmType
     * @return
     */
    @PostMapping
    public Result add(@RequestBody VmType vmType){
        log.info("新增设备类型数据{}",vmType);
        vmTypeService.save(vmType);
        return Result.success();
    }

    /**
     * 修改设备类型数据
     * @param typeId
     * @param vmType
     * @return
     */
    @PutMapping("/{typeId}")
    public Result update(@PathVariable("typeId") Integer typeId,@RequestBody VmType vmType){
        log.info("修改设备类型数据:{}",vmType);
        vmType.setTypeId(typeId);
        vmTypeService.updateById(vmType);
        return Result.success();
    }

    /**
     * 删除设备类型数据
     * @param id
     * @return
     */
    @DeleteMapping("/{typeId}")
    public Boolean delete(@PathVariable("typeId") Integer id)
        {
        log.info("删除设备类型数据:{}",id);
        vmTypeService.removeById(id);
        return true;
    }
    /**
     * 查询设备类型数据
     * @param typeId
     * @return
     */
    @GetMapping("{typeId}")
    public VmType findById(@PathVariable("typeId") Integer typeId)
        {
        log.info("查询设备类型数据:{}",typeId);
        return vmTypeService.getById(typeId);
    }
}
